# 导包
import json

from dubboclient import DubboClient


class TestOrderSettingService:
    def test_add_ok(self):
        # 创建一个dubbo连接的实例
        dubboclt = DubboClient("211.103.136.244", 6502)

        # 通过invoke函数来访问接口-服务名、函数名、参数

        list1 = [{"orderDate": "2022-06-30 12:32:22", "number": 65}]
        res = dubboclt.invoke("OrderSettingService", "add", list1)
        # 打印响应结果
        print("响应结果的类型===", type(res))
        print("响应结果===", res)

        # json.loads()的作用是还原一个字符串为它原本的类型，如果原本的类型为字典，则还原为字典；如果为列表或者元组，则还原为列表或者元组
        res = json.loads(res)
        print("转换后的响应结果类型===", type(res))

        # 断言
        assert res == None

    def test_edi_number_by_date(self):
        # 创建实例，指定ip和port
        dubboclt = DubboClient("211.103.136.244", 6502)

        ordersetting = {"orderdate":"2022-07-01 12:37:21","number":32,"class":"com.itheima.pojo.OrderSetting"}

        # 使用实例，调用invoke（服务名、函数名、实参）
        res = dubboclt.invoke("OrderSettingService", "editNumberByDate", ordersetting)

        # 获取并打印响应结果
        print("响应结果的数据类型", type(res))
        print("响应结果", res)

        # json.loads()的作用是还原一个字符串为它原本的类型，如果原本的类型为字典，则还原为字典；如果为列表或者元组，则还原为列表或者元组
        res = json.loads(res)
        print("转换后的响应结果类型===", type(res))

        # 断言
        assert res == None
